/*
 * Exploder
 * 
 * Tero Pyylampi (218437), Jussi Tuurinkoski (211594)
 *
 * An interface object for the editor mode which contains almost everything
 */

#ifndef GAMEINTERFACEEDITORCONTAINER_H
#define GAMEINTERFACEEDITORCONTAINER_H

#include "GameInterfaceItemAndObjectContainer.h"
#include "../../Common.h"
#include "Box2D/Box2D.h"

class EditorScene;
class GameCamera;	

class GameInterfaceEditorContainer : public GameInterfaceItemAndObjectContainer {
public:
	// default constructor
	GameInterfaceEditorContainer( cocos2d::CCLayer *layer, MainEngine *mainEngine, EditorScene *editorScene );
	// default destructor
	virtual ~GameInterfaceEditorContainer();

	// update function of the object
	virtual void update( cocos2d::ccTime dt );

	// callback functions of the container

	// help button
	virtual void helpCallback( cocos2d::CCObject *pSender );
	// save callback
	virtual void saveCallback( cocos2d::CCObject *pSender );

	// create and return the physics body of the wanted element
	virtual b2Body *createNewItem( GameCamera *camera, PhysicObjectItems type, b2Vec2 pos );

protected:
	// pointer to the editor scene
	EditorScene *mEditorScene;
};

#endif